<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			Abstract base class of interpolants over parametric samples.<br /><br />

			The parameter domain is one dimensional, typically the time or a path
			along a curve defined by the data.<br /><br />

			The sample values can have any dimensionality and derived classes may
			apply special interpretations to the data.<br /><br />

			This class provides the interval seek in a Template Method, deferring the
			actual interpolation to derived classes.<br /><br />

			Time complexity is `O(1)` for linear access crossing at most two points
			and `O(log N)` for random access, where *N* is the number of positions.<br /><br />

			References: [link:http://www.oodesign.com/template-method-pattern.html http://www.oodesign.com/template-method-pattern.html]
		</p>

		<h2>Constructor</h2>

		<h3>
			[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )
		</h3>
		<p>
			parameterPositions -- array of positions<br />
			sampleValues -- array of samples<br />
			sampleSize -- number of samples<br />
			resultBuffer -- buffer to store the interpolation results.<br /><br />

			Note: This is not designed to be called directly.
		</p>

		<h2>Properties</h2>

		<h3>[property:null parameterPositions]</h3>

		<h3>[property:null resultBuffer]</h3>

		<h3>[property:null sampleValues]</h3>

		<h3>[property:Object settings]</h3>
		<p>Optional, subclass-specific settings structure.</p>

		<h3>[property:null valueSize]</h3>

		<h2>Methods</h2>

		<h3>[method:Array evaluate]( [param:Number t] )</h3>
		<p>Evaluate the interpolant at position *t*.</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
